用法
鍵盤右上方的“Print Screen Sys Rq”鍵的作用是螢幕截圖,
用法一,按“Print Screen SysRq”一下,對當前螢幕進行截圖,就是整個顯示屏的內容。
用法二,先按住“Alt”鍵,再按住“Print Screen SysRq”鍵,則是對當前視窗進行截圖。如你打開“我的電腦”後,用此法就截取“我的電腦”視窗的內容。
用上述兩種方法截圖後,再打開“開始”——“程式”——“附屬檔案”——“畫圖”程式,點“編輯”、“貼上”就把截取的圖片貼上出來。
SysRq
這是一組“魔術組合鍵”,只要核心沒有被完全鎖住,不管核心在做什麼事情,使用這些組合鍵能即時列印出核心的信息。
使用sysrq組合鍵是了解系統目前運行情況的最佳方式。如果系統出現掛起的情況或在診斷一些和核心相關,比較怪異,比較難重現的問題的時候,使用sysrq鍵是個比較好的方式。
怎么打開和關閉SysRq組合鍵?
為了安全起見,在紅帽企業版Linux裡面,默認SysRq組合鍵是關閉的。 打開這個功能,運行:
# echo 1 > /proc/sys/kernel/sysrq
關閉這個功能:
# echo 0 > /proc/sys/kernel/sysrq
如果想讓此功能一直生效,在/etc/sysctl.conf裡面設定kernel.sysrq的值為1. 重新啟動以後,此功能將會自動
打開。
kernel.sysrq = 1
因為打開sysrq鍵的功能以後,有終端訪問許可權的用戶將會擁有一些特別的功能。因此,除非是要調試,解決問題,一般情況下,不要打開此功能。如果一定要打開,請確保你的終端訪問的安全性。
怎么觸發一個sysrq事件?
有幾種方式能觸發sysrq事件。在帶有AT鍵盤的一般系統上,在終端上輸入一下組合鍵:
Alt+PrintScreen+[CommandKey]
例如,要讓核心導出記憶體信息(CommandKey "m"),你應該同時按下Alt 和 Print Screen 鍵,然後按下 m 鍵.
提示: 此組合鍵在Windows上是無法使用的。所以,你先要轉換到文本虛擬終端下。如果你當前是在圖像界面,
能按Ctrl+Alt+F1轉換到虛擬終端。
在串口終端上,要想獲得同樣的效果,需要先在終端上傳送Break信號,然後在5秒內輸入sysrq組合鍵。
如果你在機器上有root許可權,你能把commandkey字元寫入到/proc/sysrq-trigger檔案。這能幫助你通過腳本或你不在系統終端上的時候觸發sysrq事件。
# echo 'm' > /proc/sysrq-trigger
當我觸發一個sysrq事件的時候,結果保存在什麼地方?
當一個sysrq命令被觸發,核心將會列印信息到核心的環形緩衝並輸出到系統控制台。此信息一般也會通過syslog輸出到/var/log/messages.
有時候,可能系統已無法回響,syslogd可能無法記錄此信息。在這種情況下,建議你設定一個串口終端來收集這個信息。
那些類型的sysrq事件能被觸發?
sysrq功能被打開後,有幾種sysrq事件能被觸發。不同的核心版本可能會有些不同。但有一些是共用的:
* m - 導出關於記憶體分配的信息,
* t - 導出執行緒狀態信息,
* p - 導出當前CPU暫存器信息和標誌位的信息,
* c - 故意讓系統崩潰(在使用netdump或diskdump的時候有用),
* s - 即時同步所有掛載的檔案系統,
* u - 即時重新掛載所有的檔案系統為唯讀,
* b - 即時重新啟動系統,
* o - 即時關機(如果機器設定並支持此項功能)。